package com.hzit.controller.api;

// import com.hzit.client.StudentClient;

import com.hzit.client.StudentClient;
import com.hzit.service.EmpService;
import com.hzit.utils.R;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.*;

/**
 * 类名：
 * 作者：WF
 * 功能：
 */
@RestController
@RequestMapping("/api/emp")
@RefreshScope
@Api(tags = "员工管理接口")
public class EmpController {

	// @Value("${emp.ename}")
	// private String ename;
	@Autowired
	private EmpService empService;
	@Autowired
	private StudentClient studentClient;

	@ApiOperation("查询所有员工")
	@GetMapping("/list")
	public R list() {
		return R.ok().data("list", empService.list());
	}

	// 查询学生列表
	@GetMapping("/student/list")
	@ApiOperation("远程查询所有学生")
	public R findStudents() {
		R r = studentClient.list();
		return r;
	}

	// 根据学号查询学生 (使用openfeign调用)
	@ApiOperation("远程根据学生编号查询学生(使用openfeign查询)")
	@GetMapping("/student/findById/{sid}")
	public R findById(@PathVariable("sid")
	                  @ApiParam(value = "学生编号", required = true)
			                  Integer sid) {
		studentClient.findById(sid);
		return R.ok();
	}

	// 根据学号查询学生 (使用RestTemplate调用)
	@GetMapping("/student/findById2/{sid}")
	@ApiOperation("远程根据学生编号查询学生(使用RestTempate查询)")
	public R findById2(@PathVariable("sid") Integer sid) {
		return empService.findStudentBySid(sid);
	}
}
